<?
	/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
		$this->oTmpObject = new Producto_turistico_frm( $this );

	class Producto_turistico_frm extends Frm
	{
	function setValue ( $ncProducto )
		{
			$cSql = "SELECT  ncProductoPadre,  cdProducto, cDescripcion, cFuente
				FROM gtProductoTuristico
				WHERE ncProducto = '$ncProducto' ";
			$aDatos = $this->oDatabase->getArray($cSql);
			$this->setFieldsArray ( $aDatos );
		}
	function Producto_turistico_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncProducto']				= new Input( "Codigo", "ncProducto", '', false, true );
			$this->aFields['ncProductoPadre']		= new InputList( "Subconjunto de", "ncProductoPadre" );
			$this->aFields['cdProducto']				= new InputText( "Nombre",  "cdProducto" );
			$this->aFields['cFuente']						= new InputText( "Fuente", "cFuente" );
			$this->aFields['cDescripcion']				= new InputText( "Descripcion", "cDescripcion" );
			$this->aFields['aSegmentos']				= new InputCheck( "Segmentos", "aSegmentos" );
		}
	function initializeForm()
		{
			// Si viene el Ubicacion hace el retrieve
				if ( $this->isRetrievable() && $this->aFields['ncProducto']->getValue() )
				{
					$this->setValue( $this->aFields['ncProducto']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Producto - Turistico" );
			return true;
		}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
					case 'ncProductoPadre':
						$cSql = "SELECT ncProducto,cdProducto FROM gtProductoTuristico";
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
					break;
					case 'cdProducto':
						$oField->setMandatory($this->isMandatory());
					break;
					case 'cFuente':
						$oField->setLength(260);
					break;
					case 'cDescripcion':
						$oField->setEditor();
					break;
					case 'aSegmentos':
						if ( $this->aFields['ncProducto']->getValue() )
						{
							$cSql = "SELECT Seg.ncSegmento, Seg.cdSegmento, PSe.ncProducto
												FROM gtSegmento as Seg
												LEFT JOIN gtProductoSegmento as PSe
													ON  PSe.ncSegmento = Seg.ncSegmento
													AND PSe.ncProducto = " . $this->aFields['ncProducto']->getValue();
						} else
						{
							$cSql = "SELECT Seg.ncSegmento, Seg.cdSegmento
												FROM gtSegmento as Seg ORDER BY cdSegmento";
						}
						$oField->setMatrix( $this->oDatabase->getMatrix( $cSql ) );
						$oField->setMultiple( true );
					break;
			}
 		}
	}
?>